1. Field of the Invention
This invention relates to interface circuits for touch screens. This invention also relates to methods of processing inputs from touch screens. This invention also relates to integrated circuits that include interfaces for touch screens.
2. Description of Related Art
Touch plane operator input devices, such as touch screens and touch pads, are known. Typically, a touch plane operator input device provides a generally planar surface that is sensitive to the touch of an operator and is operative to provide one or more output signals indicative of the location of the touch on the plane. The output signals may be based either on the raw data from a touch screen sensor system, or may be based on processed data that provides X-Y coordinate information of the touch.
Touch screens are an enhanced type of computer display device that include a touch plane operator input device. Touch screens are therefore capable not only of displaying information to an operator, but also of receiving inputs from the operator. Touch screens have been put to use in a wide variety of applications. Such applications include consumer applications such as personal digital assistants (PDAs), digital audio playback systems, internet devices, and so on, as well as industrial applications such as operator interfaces in industrial control systems. In some applications, the operator touch is made by a stylus or other device held by the operator. In other applications, the operator touches the screen directly.
Touch pads are similar in operation to touch screens, except that they are not used in connection with a display device. Touch pads are often placed adjacent the space bar on laptop computers to allow operator control of a mouse pointer. Numerous other applications also exist.
For convenience, the discussion will now focus on touch screens, it being understood that the discussion is equally applicable to touch pads and other touch plane operator input devices. In many touch screen systems, a computer system is implemented using xe2x80x9csystem-on-chipxe2x80x9d integrated circuits. In a single chip, these integrated circuits provide many of the functions that used to be spread among many integrated circuits. For example, in addition to the main microprocessor, it is not uncommon to have other circuits such as specialized serial interfaces, UARTs, memory controllers, DMA controllers, Ethernet interfaces, display interfaces, USB (universal serial bus) interfaces, and so on, as well as a touch screen interface used to acquire data from a touch screen.
A problem that has been encountered with system-on-chip integrated circuits adapted for use with touch screens is that there are many different types of touch screens. For example, some touch screens are relatively small (e.g., three inches or less) whereas other touch screens are much larger (e.g., twenty inches or more). The interface characteristics of large touch screens tend to be different because voltage feedback provisions are made to compensate for the effects of resistance and temperature drift due to the larger screen size. Additionally, even within the feedback/nonfeedback categories of touch screens, variations exist. As a result, it has been difficult to provide a system-on-chip that is usable in a wide variety of touch screen applications because different touch screen applications tend to use different types of touch screens and different types of touch screens have different interface characteristics.
FIGS. 1A-1D below show four different types of commonly employed analog resistive touch screens. In general, most analog resistive touch screens comprise front and back resistive layers (often formed of indium tin oxide) that are pressed together when an operator touch is received. The operator touch causes the two layers to establish an electrical contact at a particular location on each layer. Therefore, by applying a voltage to one layer and reading the voltage established by electrical contact on the other layer, the location of the touch can be determined based on the known characteristics of each layer.
For example, FIG. 1A is a schematic diagram of a 4-wire analog resistive touch screen. As shown therein, the touch screen comprises an X-axis resistive layer 12 and a Y-axis resistive layer 14. The resistance of the layers 12 and 14 is shown schematically as four resistors. The X-axis layer 12 further includes an X+ bus bar 16 that connects to an X+ terminal 18 of the touch screen, and an Xxe2x88x92 bus bar 20 that connects to an Xxe2x88x92 terminal 22 of the touch screen. Similarly, the Y-axis resistive layer further includes a Y+ bus bar 26 that connects to a Y+ terminal 28 of the touch screen, and a Yxe2x88x92 bus bar 30 that connects to a Yxe2x88x92 terminal 32 of the touch screen. The touch screen is scanned in the X-direction by applying a voltage across the X+ and Xxe2x88x92 bus bars 16 and 20, and then sensing the voltage that appears at one or both of the Y+ and Yxe2x88x92 terminals 28 and 32. Assuming negligible current flow through the Y+ and Yxe2x88x92 terminals, the voltage at the Y+ and Yxe2x88x92 terminals 28 and 32 should be approximately the same and is determined by the X-coordinate of the point of electrical contact between the X-axis and Y-axis layers 12 and 14, that is, by the X-coordinate of the touch. By comparing the voltage to values determined during calibration, the X-coordinate of the touch can be determined. The Y-coordinate of the touch is then determined in the same manner, except that a voltage is applied across the Y+ and Yxe2x88x92 bus bars 26 and 30, and the resultant voltage that appears at one or both of the X+ and Xxe2x88x92 terminals 18 and 22 is sensed. Of course, with all touch screens, X and Y axis definitions are arbitrary and different definitions can be coordinated with program code to determine screen position.
FIG. 1B is a schematic diagram of an 8-wire analog resistive touch screen. The 8-wire touch screen is the same as the 4-wire touch screen, except that four additional sX+, sXxe2x88x92, sY+ and sYxe2x88x92 feedback terminals 40-43 are provided. Typically, both 4-wire touch screens and 8-wire touch screens use an analog-to-digital converter to sense the voltages that appear at the X+ and Y+ terminals; In the case of a 4-wire touch screen, the reference voltage inputs to the analog-to-digital converter are connected directly to the same positive and ground terminals of a power supply that also applies voltages to the touch screen. In the case of an 8-wire touch screen, the reference voltage inputs are connected to sX+ and sXxe2x88x92 terminals 40 and 42 of the X+ and Xxe2x88x92 bus bars or to sY+ and sYxe2x88x92 terminals 41 and 43 of the Y+ and Yxe2x88x92 bus bars, respectively. The sX+, sXxe2x88x92, sY+ and sYxe2x88x92 terminals 40-43 are used for voltage feedback to eliminate the effects of resistance and temperature drift in the circuit components.
FIG. 1C is a schematic diagram of a 5-wire analog resistive touch screen. The 5-wire analog resistive touch screen includes a resistive layer 52 and a wiper layer 54. The resistive layer includes V+, Vxe2x88x92, Z+/xe2x88x92, and Zxe2x88x92/+ terminals 56-59 at the four opposing corners of the touch screen. A constant voltage is applied to the V+ and Vxe2x88x92 terminals 56-57. The X and Y axes are scanned by applying a voltage at the Z+/Zxe2x88x92 and Zxe2x88x92/Z+ terminals 58-59, and then reversing the polarity of the voltage to scan the other direction. The resulting two voltages produced at the wiper terminal 60 are indicative of the X and Y-positions of the touch.
FIG. 1D is a schematic diagram of a 7-wire analog resistive touch screen. The 7-wire touch screen is the same as the 5-wire touch screen, except that two additional sV+ and sVxe2x88x92 feedback terminals 61-62 are provided. As with the sX+, sXxe2x88x92, sY+ and sYxe2x88x92 feedback terminals 40-43, the sV+ and sVxe2x88x92 feedback terminals 61-62 are used for voltage feedback to eliminate the effects of resistance and temperature drift in the circuit components.
Analog resistive touch screens are popular because they are inexpensive and reliable. However, other types of touch screens are also common, such as capacitive touch screens and electrostatic touch screens.
In view of these different types of touch screens, a touch screen interface that is compatible with these multiple different types of touch screens would be highly advantageous. A touch screen interface that is capable of automatically detecting the type of touch screen to which it is connected would also be highly desirable.
Another problem that has been encountered in connection with touch screens is the processing overhead required to process information from touch screens. It is known to emulate a hardware mouse by moving a mouse pointer across a touch screen in response to an operator touch that moves across the touch screen. It is desirable to have smooth and responsive mouse pointer movement. Current techniques for obtaining a satisfactory level of responsiveness require a significant amount of processor overhead, however, because the microprocessor scans the touch screen directly or because the microprocessor must monitor a continuous stream of data from a separate scanning module or hardware. For example, dragging a cursor around the screen in random directions on a Microsoft(copyright) Windows(trademark) NT system that supports hardware cursoring can register an additional 3% to 7% of the processing power of a 300 MHz Pentium II(trademark) system under the task monitor program. By comparison, major architectural or processor step changes usually provide only a 5% to 10% processing speed improvement. A touch screen interface that reduces the amount of microprocessor overhead required for hardware mouse emulation would be advantageous. This is especially important in embedded solutions and PDAs where high power processors are less cost effective. Therefore, a touch screen interface that minimizes process or overhead would also be highly advantageous, especially if it is capable of detecting the type of touch screen to which it is detected and/or is compatible with multiple different types of touch screens.
Another ongoing challenge that has been encountered is trying to reduce power consumption to extend battery life in devices such as personal digital assistants, laptop computers, portable internet access devices, and so on. A touch screen interface that decreases power consumption would therefore be highly advantageous.
According to one aspect of the invention, the invention relates to a method of determining a type of a touch plane operator input device comprising sensing the impedance across first and second terminals of a touch plane operator input device to distinguish the touch screen as being one of at least two different types of touch plane operator input devices.
According to another aspect of the invention, the invention relates to a method of processing an input from a touch plane operator input device comprising determining a first location of a first touch on the touch plane operator input device; determining a second location of a second touch on the touch plane operator input device; comparing the first and second locations to obtain an indication of an amount of difference between the first and second locations; and determining whether the indication of the amount of difference exceeds a predetermined amount. These steps are performed by discrete logic circuitry that provides an event notification to a microprocessor when the indication of the amount of difference exceeds the predetermined amount.
According to yet another aspect of the invention, the invention relates to an interface circuit for a touch plane operator input device, the interface circuit comprising a digital signal processor that includes a data processing path along which data from a touch plane operator input device passes while being processed by the digital signal processor. The interface circuit is capable of processing data from at least first and second different types of touch plane operator input devices. The data path is a common data processing path that is the same for input data regardless of which type of touch plane operator input device is used.
According to yet another aspect of the invention, the invention relates to a method of acquiring an operator input from a touch plane operator input device having first and second touch-sensitive layers. The method comprises waiting for an operator touch to occur on the touch plane operator input device; and then detecting that the operator touch has occurred and determining the location of the operator touch. The first and second layers are substantially free of current flow during the waiting step.